Systems and methods for providing pieces for quilt blocks

ABSTRACT

A method for providing pieces of a block for use in a quilt block includes receiving a block selection, wherein the block comprises one or more pieces, and wherein the one or more pieces of the block are each identified with one or more types of fabric. The one or more pieces are grouped by fabric type. Instructions for cutting the one or more pieces of the block from one or more sheets of fabric are then generated.

TECHNICAL FIELD

The illustrative embodiments relate generally to quilting, and more particularly, to systems and methods for providing pieces for quilt blocks.

BACKGROUND

In quilting, a plurality of quilt blocks are sewn together to form a quilt. Each quilt block is formed by one or more pieces of fabric. The pieces of a quilt block are typically formed from different fabrics so that the block has a unique design and/or texture. Selecting a desirable quilt block and determining how to cut the pieces for the quilt block is frequently time consuming, and may present other problems or inconveniences.

SUMMARY

According to an illustrative embodiment, a computer-implemented method for providing pieces of a block for use in a quilt, comprises: receiving a block selection, wherein the block comprises one or more pieces, and wherein the one or more pieces of the block are each identified with one or more types of fabric; grouping the one or more pieces of the block by fabric type; and generating cutting instructions for cutting the one or more pieces of the block from one or more sheets of fabric.

In another illustrative embodiment, a computer program product in a computer readable medium for use with a computerized embroidery machine, the computer program product comprises: one or more blocks selectable by a user, each of the one or more blocks comprising one or more pieces, and wherein the one or more pieces of the block are each identified with one or more types of fabric; instructions for arranging the one or more pieces of a block by fabric type responsive to the block being selected by a user; and instructions for generating cutting instructions for cutting the one or more pieces of the block from one or more sheets of fabric.

In another illustrative embodiment, a method for cutting pieces of a quilt block comprises: selecting a quilt block design with a computer, wherein the quilt block comprises one or more pieces; receiving, from the computer, cutting instructions for cutting the one or more pieces of the quilt block from one or more sheets of fabric; and cutting the pieces for the block in accordance with the cutting instructions.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart of a method for providing pieces of a block for use in a quilt according to an illustrative embodiment;

FIG. 2 shows an illustrative quilt block;

FIG. 3A shows pieces for the quilt block of FIG. 2;

FIG. 3B shows a piece for the quilt block of FIG. 2;

FIG. 4A shows illustrative cutting instructions for cutting the pieces of FIG. 3A from a sheet of fabric;

FIG. 4B shows illustrative cutting instructions for cutting the piece of FIG. 3B from a sheet of fabric; and

FIG. 5 is a schematic, block diagram of a data processing system in which the illustrative embodiments may be implemented.

DETAILED DESCRIPTION

In the following detailed description of the illustrative embodiments, reference is made to the accompanying drawings that form a part hereof. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is understood that other embodiments may be utilized and that logical structural, mechanical, electrical, and chemical changes may be made without departing from the spirit or scope of the invention. To avoid detail not necessary to enable those skilled in the art to practice the embodiments described herein, the description may omit certain information known to those skilled in the art. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the illustrative embodiments are defined only by the appended claims.

Referring now to FIG. 1, a method for generating instructions for cutting pieces of a block for use in a quilt is shown. Unless otherwise indicated, as used herein, “or” does not require mutual exclusivity. The method may be performed by any suitable device such as a computer, an embroidery machine, a fabric cutting machine, a computer in communication with one or more of an embroidery machine or a fabric cutting machine, or any other suitable device or combination of devices. The method may begin with the device receiving a quilt block (or block) selection from a user (step 102). In one embodiment, the block is selected from a list of predefined blocks provided to the user by the device. In one embodiment, the block may be uploaded to the device by a user such that the user may select the block. As will be discussed below, each block typically has one or more characteristics associated therewith; for example, and without limitation, the number of pieces that form the block, the fabrics or materials each piece is formed from, the dimensions of the block and/or pieces, etc.

FIG. 2 shows an illustrative block 200. It will be appreciated that the particular block 200 of FIG. 2 is used for illustrative purposes only and that any suitable block or block design may be employed and remain within the scope of the present disclosure. Each block 200 comprises one or more pieces 202 a-202 e (collectively, 202), which are typically sewn, or otherwise coupled, together to form the block 200. Each piece 202 is typically identified with a particular fabric type from which it may be cut. In the illustrative embodiment, pieces 202 a-202 d are identified with a first fabric and piece 202 e is identified with a second fabric. It will be appreciated that a first fabric and a second fabric are employed for illustrative purposes only that that the block and/or pieces of a block may be identified with any suitable number of fabrics and remain within the scope of the present disclosure. Also, as used herein, “fabric” shall be understood broadly and shall encompass any suitable material from which to form a block or pieces of a block including, but not limited to, woven or non-woven textiles, polymer sheet material, leather, faux-leather or any other suitable material or any suitable combination of materials.

Referring again to FIG. 1, once the block selection is received (step 102), a seam allowance is provided (step 104) for each piece of the block. In one embodiment, the seam allowance is provided based at least in part on user input. In one embodiment, a default seam allowance is provided. Each piece of the block may have the same seam allowance, or, alternatively, the seam allowances for the pieces may differ from one another, in whole or in part. Further, the seam allowance may differ for a single piece such that one portion of the piece may have a different seam allowance than other portion(s) of the piece.

Once the seam allowance for the pieces is provided (step 104), the pieces of the block may be grouped by fabric type (step 106). FIGS. 3A and 3B show the pieces 202 of the block 200 of FIG. 2 grouped by fabric type. In FIG. 3A, the pieces 202 a-202 d identified with a first fabric are grouped together. Also, for reference, the seam allowances 310 a-310 d for the pieces 202 a-202 d are also shown. In FIG. 3B, the piece 202 e identified with a second fabric is shown separate from the other pieces of the block. Also, for reference, the seam allowance 310 e for the piece 202 e is shown. In one embodiment, the pieces may be grouped together in a manner so as to minimize waste of a fabric sheet when the pieces are cut therefrom.

Once the pieces of the block are grouped together (step 106), an embroidery hoop selection may be received (step 108) by a user or another device. In one embodiment, the hoop selected is the hoop that may be later employed with an embroidery machine, wherein the embroidery machine provides stitching or other markings to a fabric sheet held by the hoop in order to outline the pieces on the fabric such that the stitching or markings serve as cutting lines or a template for a user to follow in cutting out the pieces from the sheet by hand. Also, in one embodiment, the hoop selected may be the hoop to be employed in later sewing the pieces together to form the block. In one embodiment, this step may be skipped or otherwise not included in the method.

Next, the cutting instructions for cutting the pieces from one or more sheets is generated (step 110). The cutting instructions may take any suitable form. For example, the cutting instructions may be an electronic file, or machine readable file, for use by an embroidery machine such that the embroidery machine may be instructed to sew, stitch or otherwise mark a template on one or more sheets of fabric for a user to follow in order to cut out the pieces of the block by hand. Alternatively, in instances where the embroidery machine is fashioned with a boring or cut works needle, the instructions may instruct the embroidery machine to cut the pieces of the block from one or more sheets of fabric. In another embodiment, the instructions may be a machine readable file, such as a HPGL plot file, for use by a fabric cutting machine. In yet another embodiment, the instructions may be a user printable document, such as a PDF file, where a user may use the printed document as a template for cutting out the pieces of the block by hand. FIGS. 4A and 4B illustrate cutting instructions for cutting the pieces 202 of FIGS. 3A and 3B from respective fabric sheets 400A, 400B.

In one embodiment, user selection, such as those described above, may be made using a graphical user interface of a computing device, such as an embroidery machine, computer, portable computing device, etc. For example, software, embodying all or a portion of the steps in FIG. 1, may execute on a laptop, and such software may provide an interface for a user to make the appropriate selections described above.

Referring to now FIG. 5 a block diagram of a computing device 502 is shown in which the illustrative embodiments may be implemented. The computing device 502 may be a computer, an embroidery machine, a fabric cutting machine, a computer in communication with one or more of an embroidery machine or a fabric cutting machine, or any other suitable device or combination of devices. Computer-usable program code or instructions implementing the processes used in the illustrative embodiments may be located on the computing device 502. The computing device 502 includes a communications fabric 503, which provides communications between a processor unit 505, a memory 507, a persistent storage 509, a communications unit 511, an input/output (I/O) unit 513, and a display 515.

The processor unit 505 serves to execute instructions for software that may be loaded into the memory 507. The processor unit 505 may be a set of one or more processors or may be a multi-processor core, depending on the particular implementation. Further, the processor unit 505 may be implemented using one or more heterogeneous processor systems in which a main processor is present with secondary processors on a single chip. As another illustrative example, the processor unit 505 may be a symmetric multi-processor system containing multiple processors of the same type.

The memory 507, in these examples, may be, for example, a random access memory or any other suitable volatile or non-volatile storage device. The persistent storage 509 may take various forms depending on the particular implementation. For example, the persistent storage 509 may contain one or more components or devices. For example, the persistent storage 509 may be a hard drive, a flash memory, a rewritable optical disk, a rewritable magnetic tape, or some combination of the above. The media used by the persistent storage 509 also may be removable. For example, a removable hard drive may be used for the persistent storage 509.

The communications unit 511, in these examples, provides for communications with other data processing systems or communication devices. In these examples, the communications unit 511 may be a network interface card. The communications unit 511 may provide communications through the use of either or both physical and wireless communication links.

The input/output unit 513 allows for the input and output of data with other devices that may be connected to the computing device 502. For example, the input/output unit 513 may provide a connection for user input through a keyboard and mouse. Further, the input/output unit 513 may send output to a processing device. In the case in which the computing device 502 is a cellular phone, the input/output unit 513 may also allow devices to be connected to the cellular phone, such as microphones, headsets, and controllers. The display 515 provides a mechanism to display information to a user, such as a graphical user interface.

Instructions for the operating system and applications or programs are located on the persistent storage 509. These instructions may be loaded into the memory 507 for execution by the processor unit 505. The processes of the different embodiments may be performed by the processor unit 505 using computer-implemented instructions, which may be located in a memory, such as the memory 507. These instructions are referred to as program code, computer-usable program code, or computer-readable program code that may be read and executed by a processor in the processor unit 505. The program code in the different embodiments may be embodied on different physical or tangible computer-readable media, such as the memory 507 or the persistent storage 509.

Program code 517 is located in a functional form on a computer-readable media 519 and may be loaded onto or transferred to the computing device 502 for execution by the processor unit 505. The program code 517 and the computer-readable media 519 form computer program product 521 in these examples. In one embodiment, the computer program product 521 is an application or program module encompassing the method described in FIG. 1. In this embodiment, the program code 517 may include computer-usable program code capable of receiving a block selection from a user. The program code 517 may also include computer-usable program code capable grouping one or more pieces of a block by fabric type. The program code 517 may also include computer-usable program code capable of generating cutting instructions for cutting one or more pieces of a block from one or more sheets of fabric. The program code 517 may also include computer-usable program code capable of receiving or providing a seam allowance for the pieces of a block or receiving or providing a hoop selection. Any combination of the above-mentioned computer-usable program code may be implemented in the program code 517, and any functions of the illustrative embodiments may be implemented in the program code 517.

In one example, the computer-readable media 519 may be in a tangible form, such as, for example, an optical or magnetic disc that is inserted or placed into a drive or other device that is part of the persistent storage 509 for transfer onto a storage device, such as a hard drive that is part of the persistent storage 509. In a tangible form, the computer-readable media 519 also may take the form of a persistent storage, such as a hard drive or a flash memory that is connected to the computing device 502. The tangible form of the computer-readable media 519 is also referred to as computer recordable storage media.

Alternatively, the program code 517 may be transferred or deployed to the computing device 502 from the computer-readable media 519 through a communication link to the communications unit 511 or through a connection to the input/output unit 513. Such a transfer may be executed in response to a request from the user for an embroidery application. The communication link or the connection may be physical or wireless in the illustrative examples. The computer-readable media 519 also may take the form of non-tangible media, such as communication links or wireless transmissions containing the program code 517. In one embodiment, the program code 517 is delivered to the computing device 502 over the Internet.

The different components illustrated for the computing device 502 are not meant to provide architectural limitations to the manner in which different embodiments may be implemented. The different illustrative embodiments may be implemented in a data processing system including components in addition to or in place of those illustrated for computing device 502. Other components shown in FIG. 5 can be varied from the illustrative examples shown.

As one example, a storage device in the computing device 502 is any hardware apparatus that may store data. The memory 507, the persistent storage 509, and the computer-readable media 519 are examples of storage devices in a tangible form.

In another example, a bus system may be used to implement the communications fabric 503 and may be comprised of one or more buses, such as a system bus or an input/output bus. Of course, the bus system may be implemented using any suitable type of architecture that provides for a transfer of data between different components or devices attached to the bus system. Additionally, the communications unit 511 may include one or more devices used to transmit and receive data, such as a modem or a network adapter. Further, a memory may be, for example, the memory 507 or a cache such as found in an interface and memory controller hub that may be present in the communications fabric 503.

Although the illustrative embodiments described herein have been disclosed in the context of certain illustrative, non-limiting embodiments, it should be understood that various changes, substitutions, permutations, and alterations can be made without departing from the scope of the invention as defined by the appended claims. It will be appreciated that any feature that is described in a connection to any one embodiment may also be applicable to any other embodiment. 

1. A computer-implemented method for providing pieces of a block for use in a quilt, comprising: receiving a block selection, wherein the block comprises one or more pieces, and wherein the one or more pieces of the block are each identified with one or more types of fabric; grouping the one or more pieces of the block by fabric type; and generating cutting instructions for cutting the one or more pieces of the block from one or more sheets of fabric.
 2. The method of claim 1 further comprising providing a seam allowance for each one of the one or more pieces of the block.
 3. The method of claim 2 wherein the seam allowance is based at least in part on user input.
 4. The method of claim 1 further comprising determining an embroidery hoop for use in cutting the pieces based at least in part on user input.
 5. The method of claim 1 wherein grouping the one or more pieces of the block by fabric type includes grouping the one or more block pieces on one or more sheets so as to minimize waste of the sheet when the pieces are cut therefrom.
 6. The method of claim 1 wherein the instructions for cutting the one or more pieces of the block from one or more sheets of fabric are machine readable by an embroidery machine.
 7. The method of claim 1 wherein the instructions for cutting the one or more pieces of the block from one or more sheets of fabric are printable by a user.
 8. The method of claim 1 wherein the instructions for cutting the one or more pieces of the block from one or more sheets of fabric are machine readable by a fabric cutting machine.
 9. A computer program product in a computer readable medium for use with a computerized embroidery machine, the computer program product comprising: one or more blocks selectable by a user, each of the one or more blocks comprising one or more pieces, and wherein the one or more pieces of the block are each identified with one or more types of fabric; instructions for arranging the one or more pieces of a block by fabric type responsive to the block being selected by a user; and instructions for generating cutting instructions for cutting the one or more pieces of the block from one or more sheets of fabric.
 10. The computer program product of claim 9 further comprising instructions for providing a seam allowance for each of the one or more pieces of the block.
 11. The computer program product of claim 9 further comprising instructions for determining an embroidery hoop for use in cutting the pieces based at least in part on user input.
 12. The computer program product of claim 9 further comprising instructions for grouping the one or more block pieces on one or more sheets so as to minimize waste of the sheet when the pieces are cut therefrom.
 13. The computer program product of claim 9 wherein the cutting instructions enable the computerized embroidery machine to sew a cutting template for the one or more pieces on one or more sheets of fabric.
 14. The computer program product of claim 9 wherein the cutting instructions enable the computerized embroidery machine to cut the one or more pieces from one or more sheets of fabric.
 15. A method for cutting pieces of a quilt block, comprising: selecting a quilt block design with a computer, wherein the quilt block comprises one or more pieces; receiving, from the computer, cutting instructions for cutting the one or more pieces of the quilt block from one or more sheets of fabric; and cutting the pieces for the block in accordance with the cutting instructions.
 16. The method of claim 15 further comprising selecting a seam allowance for the one or more pieces of the quilt block after selecting the quilt block design.
 17. The method of claim 15 wherein the pieces of the quilt block are grouped by fabric type in the cutting instructions.
 18. The method of claim 15 wherein the cutting instructions are machine readable by an embroidery machine.
 19. The method of claim 15 wherein the cutting instructions are printable by a user.
 20. The method of claim 15 wherein the cutting instructions are machine readable by a fabric cutting machine. 